axios.defaults.baseURL = 'https://hmajax.itheima.net'
const nameReg = /^[a-zA-Z0-9]{8,30}$/
const passwordReg = /^[a-zA-Z0-9]{6,30}$/
// 表单验证
function isRight(username, password) {
    return nameReg.test(username) && passwordReg.test(password)
}

//获取表单数据
function getFormData(className) {
    const form = document.querySelector(className)
    const data = serialize(form, { hash: true, empty: true })
    return data
}

//请求拦截器
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么,比如: 统一设置token
    // 通过config可以获取请求的设置，比如headers可以获取（修改）请求头
    try {
        const localData = JSON.parse(localStorage.getItem('uname'))
        config.headers.Authorization = localData.token
    }
    catch (err) {
        console.log(err)
    }
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

//响应拦截器
axios.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    return response;
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    if (error.response.status === 401) {
        pxmu.toast('登录过期，请重新登录')
        setTimeout(() => {
            location.href = '../login.html'
        }, 1000);
    }
    return Promise.reject(error);
});